import core from '@/core/'
/**
 * 获取有权限的云服务空间数组。默认一定有text：中文名称；value：实际值
 * keys：额外需要的内容。元素是字符串，如果含有|，说明是映射关系
 * action：进一步判别标准
 */
module.exports = (keys, action) => {
	const dataList = []
	const {basedata} = core.request
	Object.keys(basedata).forEach(key => {
		var item = basedata[key]
		if (Object.prototype.toString.call(item) === '[object Object]') {
			const {
				spaceId,
				name, // 云服务空间名称
				testDb, // 含测试的数据库
				type, // 云服务空间类型
			} = item
			if (spaceId) {
				if (!action || action(item, key)) {
					const obj = {value: key, text: name, disable: !core.user.auth(`database-${key}`)}
					keys && keys.map(k => {
						const arr = k.split('|')
						if (arr.length === 1) {
							arr.push(arr[0])
						}
						obj[arr[1]] = item[arr[0]]
					})
					dataList.push(obj)
				}
			}
		}
	})
	return dataList
}